var graphs = {
    group_cloud: {
        draw: function (ctx) {
            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(595.28, 0);
            ctx.lineTo(595.28, 841.89);
            ctx.lineTo(0, 841.89);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.fillStyle = "rgba(255,255,255,0.8)";
            ctx.strokeStyle = "#888";
            ctx.miterLimit = 10;
            ctx.beginPath();
            ctx.moveTo(19.411, 28.528);
            ctx.bezierCurveTo(19.411, 28.528, 17.749000000000002, 21.104, 24.065, 16.781999999999996);
            ctx.bezierCurveTo(30.381, 12.459999999999997, 37.252, 15.229999999999997, 37.252, 15.229999999999997);
            ctx.bezierCurveTo(37.252, 15.229999999999997, 43.125, 8.581999999999997, 52.987, 8.470999999999997);
            ctx.bezierCurveTo(62.849000000000004, 8.359999999999996, 69.054, 13.900999999999996, 70.384, 15.894999999999996);
            ctx.bezierCurveTo(70.384, 15.894999999999996, 76.733, 13.446999999999996, 81.609, 19.097999999999995);
            ctx.bezierCurveTo(86.029, 24.220999999999997, 82.463, 28.526999999999994, 82.463, 28.526999999999994);
            ctx.bezierCurveTo(82.463, 28.526999999999994, 88.942, 29.144999999999992, 89.00099999999999, 35.507999999999996);
            ctx.bezierCurveTo(89.04599999999999, 40.382999999999996, 84.78999999999999, 42.04599999999999, 84.78999999999999, 42.04599999999999);
            ctx.bezierCurveTo(84.78999999999999, 42.04599999999999, 87.728, 46.89999999999999, 84.62499999999999, 52.88399999999999);
            ctx.bezierCurveTo(82.22799999999998, 57.507999999999996, 75.70399999999998, 60.10799999999999, 68.94399999999999, 58.888999999999996);
            ctx.bezierCurveTo(68.94399999999999, 58.888999999999996, 65.39799999999998, 65.87899999999999, 51.76799999999999, 64.88199999999999);
            ctx.bezierCurveTo(38.137999999999984, 63.88499999999999, 35.36799999999999, 56.45099999999999, 35.36799999999999, 56.45099999999999);
            ctx.bezierCurveTo(35.36799999999999, 56.45099999999999, 30.270999999999987, 59.663999999999994, 23.511999999999986, 56.45099999999999);
            ctx.bezierCurveTo(18.722999999999985, 54.17399999999999, 15.754999999999987, 49.57999999999999, 16.641999999999985, 44.92699999999999);
            ctx.bezierCurveTo(16.641999999999985, 44.92699999999999, 9.801999999999985, 42.48899999999999, 11.987999999999985, 34.39999999999999);
            ctx.bezierCurveTo(13.354, 29.342, 19.411, 28.528, 19.411, 28.528);
            ctx.closePath();
            ctx.lineWidth = 0.7;
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    skype: {
        name: "Skype",
        draw: function (ctx) {

            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(40, 0);
            ctx.lineTo(40, 40);
            ctx.lineTo(0, 40);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 3;
            ctx.lineJoin = "round";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(28.777, 18.438);
            ctx.bezierCurveTo(28.986, 17.49, 29.095000000000002, 16.503999999999998, 29.095000000000002, 15.494);
            ctx.bezierCurveTo(29.095000000000002, 7.9159999999999995, 22.951, 1.7720000000000002, 15.371000000000002, 1.7720000000000002);
            ctx.bezierCurveTo(14.572000000000003, 1.7720000000000002, 13.787000000000003, 1.8410000000000002, 13.025000000000002, 1.9720000000000002);
            ctx.bezierCurveTo(11.801, 1.199, 10.35, 0.75, 8.793, 0.75);
            ctx.bezierCurveTo(4.398, 0.75, 0.8349999999999991, 4.311999999999999, 0.8349999999999991, 8.708);
            ctx.bezierCurveTo(0.8349999999999991, 10.178, 1.233999999999999, 11.553, 1.9289999999999992, 12.732);
            ctx.bezierCurveTo(1.745999999999999, 13.625, 1.6519999999999992, 14.546, 1.6519999999999992, 15.491999999999999);
            ctx.bezierCurveTo(1.6519999999999992, 23.072, 7.795999999999999, 29.215, 15.373999999999999, 29.215);
            ctx.bezierCurveTo(16.232999999999997, 29.215, 17.073, 29.137, 17.889, 28.985);
            ctx.bezierCurveTo(19.008, 29.589, 20.288, 29.93, 21.651, 29.93);
            ctx.bezierCurveTo(26.046, 29.93, 29.608, 26.368, 29.608, 21.971);
            ctx.bezierCurveTo(29.605, 20.701, 29.309, 19.502, 28.777, 18.438);
            ctx.closePath();
            ctx.moveTo(22.412, 22.051);
            ctx.bezierCurveTo(21.776999999999997, 22.948999999999998, 20.839, 23.659999999999997, 19.622999999999998, 24.165999999999997);
            ctx.bezierCurveTo(18.419999999999998, 24.665999999999997, 16.976999999999997, 24.919999999999998, 15.335999999999999, 24.919999999999998);
            ctx.bezierCurveTo(13.364999999999998, 24.919999999999998, 11.711999999999998, 24.573999999999998, 10.421999999999999, 23.889);
            ctx.bezierCurveTo(9.5, 23.391, 8.74, 22.717, 8.163, 21.885);
            ctx.bezierCurveTo(7.58, 21.043000000000003, 7.284000000000001, 20.209000000000003, 7.284000000000001, 19.406000000000002);
            ctx.bezierCurveTo(7.284000000000001, 18.903000000000002, 7.476000000000001, 18.467000000000002, 7.857000000000001, 18.110000000000003);
            ctx.bezierCurveTo(8.232000000000001, 17.756000000000004, 8.714, 17.578000000000003, 9.289000000000001, 17.578000000000003);
            ctx.bezierCurveTo(9.760000000000002, 17.578000000000003, 10.167000000000002, 17.719, 10.498000000000001, 18.000000000000004);
            ctx.bezierCurveTo(10.813, 18.269000000000002, 11.084000000000001, 18.662000000000003, 11.303, 19.174000000000003);
            ctx.bezierCurveTo(11.545000000000002, 19.732000000000003, 11.811, 20.201000000000004, 12.091000000000001, 20.571);
            ctx.bezierCurveTo(12.360000000000001, 20.926000000000002, 12.747000000000002, 21.227, 13.242, 21.461000000000002);
            ctx.bezierCurveTo(13.739, 21.696, 14.41, 21.815, 15.234000000000002, 21.815);
            ctx.bezierCurveTo(16.369000000000003, 21.815, 17.298000000000002, 21.574, 17.998, 21.094);
            ctx.bezierCurveTo(18.682000000000002, 20.629, 19.014000000000003, 20.069000000000003, 19.014000000000003, 19.383000000000003);
            ctx.bezierCurveTo(19.014000000000003, 18.840000000000003, 18.841000000000005, 18.414, 18.485000000000003, 18.080000000000002);
            ctx.bezierCurveTo(18.112000000000002, 17.732000000000003, 17.620000000000005, 17.459000000000003, 17.020000000000003, 17.273000000000003);
            ctx.bezierCurveTo(16.397000000000002, 17.078000000000003, 15.550000000000002, 16.869000000000003, 14.502000000000002, 16.650000000000002);
            ctx.bezierCurveTo(13.078000000000003, 16.344, 11.868000000000002, 15.982000000000003, 10.906000000000002, 15.574000000000002);
            ctx.bezierCurveTo(9.922000000000002, 15.155000000000001, 9.129000000000003, 14.574000000000002, 8.549000000000003, 13.847000000000001);
            ctx.bezierCurveTo(7.959000000000003, 13.111, 7.660000000000003, 12.185000000000002, 7.660000000000003, 11.097000000000001);
            ctx.bezierCurveTo(7.660000000000003, 10.061000000000002, 7.974000000000003, 9.126000000000001, 8.593000000000004, 8.321000000000002);
            ctx.bezierCurveTo(9.206000000000003, 7.521000000000002, 10.103000000000003, 6.8980000000000015, 11.256000000000004, 6.472000000000001);
            ctx.bezierCurveTo(12.395000000000003, 6.050000000000002, 13.750000000000004, 5.8370000000000015, 15.283000000000005, 5.8370000000000015);
            ctx.bezierCurveTo(16.508000000000006, 5.8370000000000015, 17.586000000000006, 5.9780000000000015, 18.484000000000005, 6.258000000000002);
            ctx.bezierCurveTo(19.388000000000005, 6.540000000000002, 20.152000000000005, 6.920000000000002, 20.751000000000005, 7.388000000000002);
            ctx.bezierCurveTo(21.355000000000004, 7.860000000000001, 21.805000000000003, 8.365000000000002, 22.086000000000006, 8.888000000000002);
            ctx.bezierCurveTo(22.370000000000005, 9.417000000000002, 22.516000000000005, 9.945000000000002, 22.516000000000005, 10.453000000000001);
            ctx.bezierCurveTo(22.516000000000005, 10.943000000000001, 22.327000000000005, 11.39, 21.953000000000007, 11.777000000000001);
            ctx.bezierCurveTo(21.578000000000007, 12.168000000000001, 21.102000000000007, 12.366000000000001, 20.545000000000005, 12.366000000000001);
            ctx.bezierCurveTo(20.036000000000005, 12.366000000000001, 19.640000000000004, 12.242, 19.362000000000005, 11.997000000000002);
            ctx.bezierCurveTo(19.104000000000006, 11.770000000000001, 18.839000000000006, 11.417000000000002, 18.543000000000006, 10.907000000000002);
            ctx.bezierCurveTo(18.201000000000008, 10.257000000000001, 17.787000000000006, 9.745000000000001, 17.314000000000007, 9.384000000000002);
            ctx.bezierCurveTo(16.851000000000006, 9.033000000000001, 16.082000000000008, 8.855000000000002, 15.022000000000007, 8.855000000000002);
            ctx.bezierCurveTo(14.038000000000007, 8.855000000000002, 13.238000000000007, 9.052000000000001, 12.643000000000008, 9.443000000000001);
            ctx.bezierCurveTo(12.071000000000009, 9.818000000000001, 11.793000000000008, 10.248000000000001, 11.793000000000008, 10.757000000000001);
            ctx.bezierCurveTo(11.793000000000008, 11.069, 11.883000000000008, 11.331000000000001, 12.066000000000008, 11.556000000000001);
            ctx.bezierCurveTo(12.261000000000008, 11.794, 12.537000000000008, 12.003, 12.884000000000007, 12.177000000000001);
            ctx.bezierCurveTo(13.244000000000007, 12.359000000000002, 13.616000000000007, 12.503000000000002, 13.988000000000007, 12.606000000000002);
            ctx.bezierCurveTo(14.370000000000006, 12.712000000000002, 15.009000000000007, 12.869000000000002, 15.887000000000008, 13.072000000000001);
            ctx.bezierCurveTo(16.997000000000007, 13.31, 18.018000000000008, 13.578000000000001, 18.921000000000006, 13.865);
            ctx.bezierCurveTo(19.834000000000007, 14.158, 20.624000000000006, 14.519, 21.269000000000005, 14.937000000000001);
            ctx.bezierCurveTo(21.925000000000004, 15.366000000000001, 22.447000000000006, 15.916, 22.816000000000006, 16.572000000000003);
            ctx.bezierCurveTo(23.185000000000006, 17.230000000000004, 23.374000000000006, 18.043000000000003, 23.374000000000006, 18.988000000000003);
            ctx.bezierCurveTo(23.371, 20.119, 23.049, 21.148, 22.412, 22.051);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555555";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.beginPath();
            ctx.moveTo(28.777, 18.438);
            ctx.bezierCurveTo(28.986, 17.49, 29.095000000000002, 16.503999999999998, 29.095000000000002, 15.494);
            ctx.bezierCurveTo(29.095000000000002, 7.9159999999999995, 22.951, 1.7720000000000002, 15.371000000000002, 1.7720000000000002);
            ctx.bezierCurveTo(14.572000000000003, 1.7720000000000002, 13.787000000000003, 1.8410000000000002, 13.025000000000002, 1.9720000000000002);
            ctx.bezierCurveTo(11.801, 1.199, 10.35, 0.75, 8.793, 0.75);
            ctx.bezierCurveTo(4.398, 0.75, 0.8349999999999991, 4.311999999999999, 0.8349999999999991, 8.708);
            ctx.bezierCurveTo(0.8349999999999991, 10.178, 1.233999999999999, 11.553, 1.9289999999999992, 12.732);
            ctx.bezierCurveTo(1.745999999999999, 13.625, 1.6519999999999992, 14.546, 1.6519999999999992, 15.491999999999999);
            ctx.bezierCurveTo(1.6519999999999992, 23.072, 7.795999999999999, 29.215, 15.373999999999999, 29.215);
            ctx.bezierCurveTo(16.232999999999997, 29.215, 17.073, 29.137, 17.889, 28.985);
            ctx.bezierCurveTo(19.008, 29.589, 20.288, 29.93, 21.651, 29.93);
            ctx.bezierCurveTo(26.046, 29.93, 29.608, 26.368, 29.608, 21.971);
            ctx.bezierCurveTo(29.605, 20.701, 29.309, 19.502, 28.777, 18.438);
            ctx.closePath();
            ctx.moveTo(22.412, 22.051);
            ctx.bezierCurveTo(21.776999999999997, 22.948999999999998, 20.839, 23.659999999999997, 19.622999999999998, 24.165999999999997);
            ctx.bezierCurveTo(18.419999999999998, 24.665999999999997, 16.976999999999997, 24.919999999999998, 15.335999999999999, 24.919999999999998);
            ctx.bezierCurveTo(13.364999999999998, 24.919999999999998, 11.711999999999998, 24.573999999999998, 10.421999999999999, 23.889);
            ctx.bezierCurveTo(9.5, 23.391, 8.74, 22.717, 8.163, 21.885);
            ctx.bezierCurveTo(7.58, 21.043000000000003, 7.284000000000001, 20.209000000000003, 7.284000000000001, 19.406000000000002);
            ctx.bezierCurveTo(7.284000000000001, 18.903000000000002, 7.476000000000001, 18.467000000000002, 7.857000000000001, 18.110000000000003);
            ctx.bezierCurveTo(8.232000000000001, 17.756000000000004, 8.714, 17.578000000000003, 9.289000000000001, 17.578000000000003);
            ctx.bezierCurveTo(9.760000000000002, 17.578000000000003, 10.167000000000002, 17.719, 10.498000000000001, 18.000000000000004);
            ctx.bezierCurveTo(10.813, 18.269000000000002, 11.084000000000001, 18.662000000000003, 11.303, 19.174000000000003);
            ctx.bezierCurveTo(11.545000000000002, 19.732000000000003, 11.811, 20.201000000000004, 12.091000000000001, 20.571);
            ctx.bezierCurveTo(12.360000000000001, 20.926000000000002, 12.747000000000002, 21.227, 13.242, 21.461000000000002);
            ctx.bezierCurveTo(13.739, 21.696, 14.41, 21.815, 15.234000000000002, 21.815);
            ctx.bezierCurveTo(16.369000000000003, 21.815, 17.298000000000002, 21.574, 17.998, 21.094);
            ctx.bezierCurveTo(18.682000000000002, 20.629, 19.014000000000003, 20.069000000000003, 19.014000000000003, 19.383000000000003);
            ctx.bezierCurveTo(19.014000000000003, 18.840000000000003, 18.841000000000005, 18.414, 18.485000000000003, 18.080000000000002);
            ctx.bezierCurveTo(18.112000000000002, 17.732000000000003, 17.620000000000005, 17.459000000000003, 17.020000000000003, 17.273000000000003);
            ctx.bezierCurveTo(16.397000000000002, 17.078000000000003, 15.550000000000002, 16.869000000000003, 14.502000000000002, 16.650000000000002);
            ctx.bezierCurveTo(13.078000000000003, 16.344, 11.868000000000002, 15.982000000000003, 10.906000000000002, 15.574000000000002);
            ctx.bezierCurveTo(9.922000000000002, 15.155000000000001, 9.129000000000003, 14.574000000000002, 8.549000000000003, 13.847000000000001);
            ctx.bezierCurveTo(7.959000000000003, 13.111, 7.660000000000003, 12.185000000000002, 7.660000000000003, 11.097000000000001);
            ctx.bezierCurveTo(7.660000000000003, 10.061000000000002, 7.974000000000003, 9.126000000000001, 8.593000000000004, 8.321000000000002);
            ctx.bezierCurveTo(9.206000000000003, 7.521000000000002, 10.103000000000003, 6.8980000000000015, 11.256000000000004, 6.472000000000001);
            ctx.bezierCurveTo(12.395000000000003, 6.050000000000002, 13.750000000000004, 5.8370000000000015, 15.283000000000005, 5.8370000000000015);
            ctx.bezierCurveTo(16.508000000000006, 5.8370000000000015, 17.586000000000006, 5.9780000000000015, 18.484000000000005, 6.258000000000002);
            ctx.bezierCurveTo(19.388000000000005, 6.540000000000002, 20.152000000000005, 6.920000000000002, 20.751000000000005, 7.388000000000002);
            ctx.bezierCurveTo(21.355000000000004, 7.860000000000001, 21.805000000000003, 8.365000000000002, 22.086000000000006, 8.888000000000002);
            ctx.bezierCurveTo(22.370000000000005, 9.417000000000002, 22.516000000000005, 9.945000000000002, 22.516000000000005, 10.453000000000001);
            ctx.bezierCurveTo(22.516000000000005, 10.943000000000001, 22.327000000000005, 11.39, 21.953000000000007, 11.777000000000001);
            ctx.bezierCurveTo(21.578000000000007, 12.168000000000001, 21.102000000000007, 12.366000000000001, 20.545000000000005, 12.366000000000001);
            ctx.bezierCurveTo(20.036000000000005, 12.366000000000001, 19.640000000000004, 12.242, 19.362000000000005, 11.997000000000002);
            ctx.bezierCurveTo(19.104000000000006, 11.770000000000001, 18.839000000000006, 11.417000000000002, 18.543000000000006, 10.907000000000002);
            ctx.bezierCurveTo(18.201000000000008, 10.257000000000001, 17.787000000000006, 9.745000000000001, 17.314000000000007, 9.384000000000002);
            ctx.bezierCurveTo(16.851000000000006, 9.033000000000001, 16.082000000000008, 8.855000000000002, 15.022000000000007, 8.855000000000002);
            ctx.bezierCurveTo(14.038000000000007, 8.855000000000002, 13.238000000000007, 9.052000000000001, 12.643000000000008, 9.443000000000001);
            ctx.bezierCurveTo(12.071000000000009, 9.818000000000001, 11.793000000000008, 10.248000000000001, 11.793000000000008, 10.757000000000001);
            ctx.bezierCurveTo(11.793000000000008, 11.069, 11.883000000000008, 11.331000000000001, 12.066000000000008, 11.556000000000001);
            ctx.bezierCurveTo(12.261000000000008, 11.794, 12.537000000000008, 12.003, 12.884000000000007, 12.177000000000001);
            ctx.bezierCurveTo(13.244000000000007, 12.359000000000002, 13.616000000000007, 12.503000000000002, 13.988000000000007, 12.606000000000002);
            ctx.bezierCurveTo(14.370000000000006, 12.712000000000002, 15.009000000000007, 12.869000000000002, 15.887000000000008, 13.072000000000001);
            ctx.bezierCurveTo(16.997000000000007, 13.31, 18.018000000000008, 13.578000000000001, 18.921000000000006, 13.865);
            ctx.bezierCurveTo(19.834000000000007, 14.158, 20.624000000000006, 14.519, 21.269000000000005, 14.937000000000001);
            ctx.bezierCurveTo(21.925000000000004, 15.366000000000001, 22.447000000000006, 15.916, 22.816000000000006, 16.572000000000003);
            ctx.bezierCurveTo(23.185000000000006, 17.230000000000004, 23.374000000000006, 18.043000000000003, 23.374000000000006, 18.988000000000003);
            ctx.bezierCurveTo(23.371, 20.119, 23.049, 21.148, 22.412, 22.051);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "#000000";
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(32, 0);
            ctx.quadraticCurveTo(32, 0, 32, 0);
            ctx.lineTo(32, 32);
            ctx.quadraticCurveTo(32, 32, 32, 32);
            ctx.lineTo(0, 32);
            ctx.quadraticCurveTo(0, 32, 0, 32);
            ctx.lineTo(0, 0);
            ctx.quadraticCurveTo(0, 0, 0, 0);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    group: {
        name: "Group",
        draw: function (ctx) {
            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(40, 0);
            ctx.lineTo(40, 40);
            ctx.lineTo(0, 40);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 3;
            ctx.lineJoin = "round";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(21.066, 20.667);
            ctx.bezierCurveTo(22.293, 19.985000000000003, 22.134, 17.356, 20.712, 14.793000000000003);
            ctx.bezierCurveTo(20.101, 13.689000000000004, 19.353, 12.795000000000003, 18.603, 12.170000000000002);
            ctx.bezierCurveTo(17.728, 12.811000000000002, 16.662000000000003, 13.201000000000002, 15.501000000000001, 13.201000000000002);
            ctx.bezierCurveTo(14.337000000000002, 13.201000000000002, 13.270000000000001, 12.810000000000002, 12.397000000000002, 12.170000000000002);
            ctx.bezierCurveTo(11.647000000000002, 12.795000000000002, 10.899000000000003, 13.689000000000002, 10.286000000000001, 14.793000000000003);
            ctx.bezierCurveTo(8.864, 17.356, 8.708000000000002, 19.985000000000003, 9.936000000000002, 20.667);
            ctx.bezierCurveTo(10.485000000000001, 20.979000000000003, 11.063000000000002, 20.745, 11.659000000000002, 20.171000000000003);
            ctx.bezierCurveTo(11.554000000000002, 20.753000000000004, 11.493000000000002, 21.384000000000004, 11.493000000000002, 22.044000000000004);
            ctx.bezierCurveTo(11.493000000000002, 24.982000000000003, 12.632000000000001, 27.356000000000005, 14.036000000000001, 27.356000000000005);
            ctx.bezierCurveTo(14.882000000000001, 27.356000000000005, 15.301000000000002, 26.491000000000007, 15.502, 25.168000000000006);
            ctx.bezierCurveTo(15.702, 26.482000000000006, 16.122, 27.356000000000005, 16.963, 27.356000000000005);
            ctx.bezierCurveTo(18.359, 27.356000000000005, 19.508000000000003, 24.981000000000005, 19.508000000000003, 22.044000000000004);
            ctx.bezierCurveTo(19.508000000000003, 21.384000000000004, 19.446, 20.753000000000004, 19.340000000000003, 20.171000000000003);
            ctx.bezierCurveTo(19.939, 20.745, 20.516, 20.983, 21.066, 20.667);
            ctx.closePath();
            ctx.moveTo(15.5, 12.201);
            ctx.bezierCurveTo(17.861, 12.201, 19.777, 10.285, 19.777, 7.922000000000001);
            ctx.bezierCurveTo(19.777, 5.559000000000001, 17.861, 3.644, 15.5, 3.644);
            ctx.bezierCurveTo(13.137, 3.644, 11.219999999999999, 5.5600000000000005, 11.219999999999999, 7.923);
            ctx.bezierCurveTo(11.219999999999999, 10.286, 13.137, 12.201, 15.5, 12.201);
            ctx.closePath();
            ctx.moveTo(24.094, 14.914);
            ctx.bezierCurveTo(26.032, 14.914, 27.606, 13.341, 27.606, 11.401);
            ctx.bezierCurveTo(27.606, 9.462, 26.033, 7.888, 24.094, 7.888);
            ctx.bezierCurveTo(22.154, 7.888, 20.581000000000003, 9.461, 20.581000000000003, 11.401);
            ctx.bezierCurveTo(20.581, 13.341, 22.153, 14.914, 24.094, 14.914);
            ctx.closePath();
            ctx.moveTo(28.374, 17.043);
            ctx.bezierCurveTo(27.872, 16.136, 27.258, 15.402, 26.642, 14.889);
            ctx.bezierCurveTo(25.924, 15.415, 25.048, 15.735, 24.096, 15.735);
            ctx.bezierCurveTo(23.34, 15.735, 22.637, 15.527999999999999, 22.02, 15.184999999999999);
            ctx.bezierCurveTo(22.516, 16.278, 22.823, 17.384999999999998, 22.881, 18.375);
            ctx.bezierCurveTo(22.974, 19.891, 22.5, 21.016, 21.552, 21.54);
            ctx.bezierCurveTo(21.348, 21.657, 21.126, 21.723, 20.899, 21.764);
            ctx.bezierCurveTo(20.843, 22.156, 20.804000000000002, 22.564999999999998, 20.804000000000002, 22.995);
            ctx.bezierCurveTo(20.804000000000002, 25.407, 21.739, 27.356, 22.892000000000003, 27.356);
            ctx.bezierCurveTo(23.586000000000002, 27.356, 23.931000000000004, 26.646, 24.096000000000004, 25.560000000000002);
            ctx.bezierCurveTo(24.259000000000004, 26.639000000000003, 24.604000000000003, 27.356, 25.295000000000005, 27.356);
            ctx.bezierCurveTo(26.441000000000006, 27.356, 27.385000000000005, 25.406000000000002, 27.385000000000005, 22.995);
            ctx.bezierCurveTo(27.385000000000005, 22.453, 27.333000000000006, 21.935000000000002, 27.246000000000006, 21.457);
            ctx.bezierCurveTo(27.738000000000007, 21.929000000000002, 28.212000000000007, 22.124000000000002, 28.664000000000005, 21.864);
            ctx.bezierCurveTo(29.671, 21.305, 29.541, 19.146, 28.374, 17.043);
            ctx.closePath();
            ctx.moveTo(6.906, 14.914);
            ctx.bezierCurveTo(8.844999999999999, 14.914, 10.418, 13.341, 10.418, 11.401);
            ctx.bezierCurveTo(10.418, 9.462, 8.844999999999999, 7.888, 6.905999999999999, 7.888);
            ctx.bezierCurveTo(4.965999999999999, 7.888, 3.391999999999999, 9.461, 3.391999999999999, 11.401);
            ctx.bezierCurveTo(3.392, 13.341, 4.966, 14.914, 6.906, 14.914);
            ctx.closePath();
            ctx.moveTo(9.441, 21.536);
            ctx.bezierCurveTo(7.848000000000001, 20.651, 7.702000000000001, 18.012, 8.984, 15.182000000000002);
            ctx.bezierCurveTo(8.365, 15.528000000000002, 7.662, 15.735000000000003, 6.906000000000001, 15.735000000000003);
            ctx.bezierCurveTo(5.950000000000001, 15.735000000000003, 5.074000000000001, 15.414000000000003, 4.357000000000001, 14.889000000000003);
            ctx.bezierCurveTo(3.741000000000001, 15.402000000000003, 3.128000000000001, 16.136000000000003, 2.624000000000001, 17.043000000000003);
            ctx.bezierCurveTo(1.457000000000001, 19.147000000000002, 1.329000000000001, 21.305000000000003, 2.337000000000001, 21.864000000000004);
            ctx.bezierCurveTo(2.788000000000001, 22.121000000000006, 3.2620000000000013, 21.928000000000004, 3.7510000000000012, 21.457000000000004);
            ctx.bezierCurveTo(3.6650000000000014, 21.936000000000003, 3.615000000000001, 22.453000000000003, 3.615000000000001, 22.995000000000005);
            ctx.bezierCurveTo(3.615000000000001, 25.407000000000004, 4.550000000000001, 27.356000000000005, 5.703000000000001, 27.356000000000005);
            ctx.bezierCurveTo(6.397000000000001, 27.356000000000005, 6.742000000000001, 26.646000000000004, 6.907000000000001, 25.560000000000006);
            ctx.bezierCurveTo(7.072000000000001, 26.639000000000006, 7.416000000000001, 27.356000000000005, 8.108, 27.356000000000005);
            ctx.bezierCurveTo(9.254000000000001, 27.356000000000005, 10.197000000000001, 25.406000000000006, 10.197000000000001, 22.995000000000005);
            ctx.bezierCurveTo(10.197000000000001, 22.563000000000006, 10.157000000000002, 22.154000000000003, 10.100000000000001, 21.762000000000004);
            ctx.bezierCurveTo(9.874, 21.721, 9.651, 21.656, 9.441, 21.536);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555555";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.beginPath();
            ctx.moveTo(21.066, 20.667);
            ctx.bezierCurveTo(22.293, 19.985000000000003, 22.134, 17.356, 20.712, 14.793000000000003);
            ctx.bezierCurveTo(20.101, 13.689000000000004, 19.353, 12.795000000000003, 18.603, 12.170000000000002);
            ctx.bezierCurveTo(17.728, 12.811000000000002, 16.662000000000003, 13.201000000000002, 15.501000000000001, 13.201000000000002);
            ctx.bezierCurveTo(14.337000000000002, 13.201000000000002, 13.270000000000001, 12.810000000000002, 12.397000000000002, 12.170000000000002);
            ctx.bezierCurveTo(11.647000000000002, 12.795000000000002, 10.899000000000003, 13.689000000000002, 10.286000000000001, 14.793000000000003);
            ctx.bezierCurveTo(8.864, 17.356, 8.708000000000002, 19.985000000000003, 9.936000000000002, 20.667);
            ctx.bezierCurveTo(10.485000000000001, 20.979000000000003, 11.063000000000002, 20.745, 11.659000000000002, 20.171000000000003);
            ctx.bezierCurveTo(11.554000000000002, 20.753000000000004, 11.493000000000002, 21.384000000000004, 11.493000000000002, 22.044000000000004);
            ctx.bezierCurveTo(11.493000000000002, 24.982000000000003, 12.632000000000001, 27.356000000000005, 14.036000000000001, 27.356000000000005);
            ctx.bezierCurveTo(14.882000000000001, 27.356000000000005, 15.301000000000002, 26.491000000000007, 15.502, 25.168000000000006);
            ctx.bezierCurveTo(15.702, 26.482000000000006, 16.122, 27.356000000000005, 16.963, 27.356000000000005);
            ctx.bezierCurveTo(18.359, 27.356000000000005, 19.508000000000003, 24.981000000000005, 19.508000000000003, 22.044000000000004);
            ctx.bezierCurveTo(19.508000000000003, 21.384000000000004, 19.446, 20.753000000000004, 19.340000000000003, 20.171000000000003);
            ctx.bezierCurveTo(19.939, 20.745, 20.516, 20.983, 21.066, 20.667);
            ctx.closePath();
            ctx.moveTo(15.5, 12.201);
            ctx.bezierCurveTo(17.861, 12.201, 19.777, 10.285, 19.777, 7.922000000000001);
            ctx.bezierCurveTo(19.777, 5.559000000000001, 17.861, 3.644, 15.5, 3.644);
            ctx.bezierCurveTo(13.137, 3.644, 11.219999999999999, 5.5600000000000005, 11.219999999999999, 7.923);
            ctx.bezierCurveTo(11.219999999999999, 10.286, 13.137, 12.201, 15.5, 12.201);
            ctx.closePath();
            ctx.moveTo(24.094, 14.914);
            ctx.bezierCurveTo(26.032, 14.914, 27.606, 13.341, 27.606, 11.401);
            ctx.bezierCurveTo(27.606, 9.462, 26.033, 7.888, 24.094, 7.888);
            ctx.bezierCurveTo(22.154, 7.888, 20.581000000000003, 9.461, 20.581000000000003, 11.401);
            ctx.bezierCurveTo(20.581, 13.341, 22.153, 14.914, 24.094, 14.914);
            ctx.closePath();
            ctx.moveTo(28.374, 17.043);
            ctx.bezierCurveTo(27.872, 16.136, 27.258, 15.402, 26.642, 14.889);
            ctx.bezierCurveTo(25.924, 15.415, 25.048, 15.735, 24.096, 15.735);
            ctx.bezierCurveTo(23.34, 15.735, 22.637, 15.527999999999999, 22.02, 15.184999999999999);
            ctx.bezierCurveTo(22.516, 16.278, 22.823, 17.384999999999998, 22.881, 18.375);
            ctx.bezierCurveTo(22.974, 19.891, 22.5, 21.016, 21.552, 21.54);
            ctx.bezierCurveTo(21.348, 21.657, 21.126, 21.723, 20.899, 21.764);
            ctx.bezierCurveTo(20.843, 22.156, 20.804000000000002, 22.564999999999998, 20.804000000000002, 22.995);
            ctx.bezierCurveTo(20.804000000000002, 25.407, 21.739, 27.356, 22.892000000000003, 27.356);
            ctx.bezierCurveTo(23.586000000000002, 27.356, 23.931000000000004, 26.646, 24.096000000000004, 25.560000000000002);
            ctx.bezierCurveTo(24.259000000000004, 26.639000000000003, 24.604000000000003, 27.356, 25.295000000000005, 27.356);
            ctx.bezierCurveTo(26.441000000000006, 27.356, 27.385000000000005, 25.406000000000002, 27.385000000000005, 22.995);
            ctx.bezierCurveTo(27.385000000000005, 22.453, 27.333000000000006, 21.935000000000002, 27.246000000000006, 21.457);
            ctx.bezierCurveTo(27.738000000000007, 21.929000000000002, 28.212000000000007, 22.124000000000002, 28.664000000000005, 21.864);
            ctx.bezierCurveTo(29.671, 21.305, 29.541, 19.146, 28.374, 17.043);
            ctx.closePath();
            ctx.moveTo(6.906, 14.914);
            ctx.bezierCurveTo(8.844999999999999, 14.914, 10.418, 13.341, 10.418, 11.401);
            ctx.bezierCurveTo(10.418, 9.462, 8.844999999999999, 7.888, 6.905999999999999, 7.888);
            ctx.bezierCurveTo(4.965999999999999, 7.888, 3.391999999999999, 9.461, 3.391999999999999, 11.401);
            ctx.bezierCurveTo(3.392, 13.341, 4.966, 14.914, 6.906, 14.914);
            ctx.closePath();
            ctx.moveTo(9.441, 21.536);
            ctx.bezierCurveTo(7.848000000000001, 20.651, 7.702000000000001, 18.012, 8.984, 15.182000000000002);
            ctx.bezierCurveTo(8.365, 15.528000000000002, 7.662, 15.735000000000003, 6.906000000000001, 15.735000000000003);
            ctx.bezierCurveTo(5.950000000000001, 15.735000000000003, 5.074000000000001, 15.414000000000003, 4.357000000000001, 14.889000000000003);
            ctx.bezierCurveTo(3.741000000000001, 15.402000000000003, 3.128000000000001, 16.136000000000003, 2.624000000000001, 17.043000000000003);
            ctx.bezierCurveTo(1.457000000000001, 19.147000000000002, 1.329000000000001, 21.305000000000003, 2.337000000000001, 21.864000000000004);
            ctx.bezierCurveTo(2.788000000000001, 22.121000000000006, 3.2620000000000013, 21.928000000000004, 3.7510000000000012, 21.457000000000004);
            ctx.bezierCurveTo(3.6650000000000014, 21.936000000000003, 3.615000000000001, 22.453000000000003, 3.615000000000001, 22.995000000000005);
            ctx.bezierCurveTo(3.615000000000001, 25.407000000000004, 4.550000000000001, 27.356000000000005, 5.703000000000001, 27.356000000000005);
            ctx.bezierCurveTo(6.397000000000001, 27.356000000000005, 6.742000000000001, 26.646000000000004, 6.907000000000001, 25.560000000000006);
            ctx.bezierCurveTo(7.072000000000001, 26.639000000000006, 7.416000000000001, 27.356000000000005, 8.108, 27.356000000000005);
            ctx.bezierCurveTo(9.254000000000001, 27.356000000000005, 10.197000000000001, 25.406000000000006, 10.197000000000001, 22.995000000000005);
            ctx.bezierCurveTo(10.197000000000001, 22.563000000000006, 10.157000000000002, 22.154000000000003, 10.100000000000001, 21.762000000000004);
            ctx.bezierCurveTo(9.874, 21.721, 9.651, 21.656, 9.441, 21.536);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "#000000";
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(32, 0);
            ctx.quadraticCurveTo(32, 0, 32, 0);
            ctx.lineTo(32, 32);
            ctx.quadraticCurveTo(32, 32, 32, 32);
            ctx.lineTo(0, 32);
            ctx.quadraticCurveTo(0, 32, 0, 32);
            ctx.lineTo(0, 0);
            ctx.quadraticCurveTo(0, 0, 0, 0);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    twitter: {
        name: "Twitter",
        draw: function (ctx) {
            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(40, 0);
            ctx.lineTo(40, 40);
            ctx.lineTo(0, 40);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 3;
            ctx.lineJoin = "round";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(26.492, 9.493);
            ctx.bezierCurveTo(25.721, 9.836, 24.89, 10.067, 24.019000000000002, 10.171000000000001);
            ctx.bezierCurveTo(24.909000000000002, 9.638000000000002, 25.581000000000003, 8.795000000000002, 25.912000000000003, 7.7890000000000015);
            ctx.bezierCurveTo(25.080000000000002, 8.282000000000002, 24.159000000000002, 8.641000000000002, 23.178000000000004, 8.833000000000002);
            ctx.bezierCurveTo(22.393000000000004, 7.996000000000002, 21.276000000000003, 7.474000000000002, 20.036000000000005, 7.474000000000002);
            ctx.bezierCurveTo(17.659000000000006, 7.474000000000002, 15.730000000000004, 9.402000000000001, 15.730000000000004, 11.780000000000001);
            ctx.bezierCurveTo(15.730000000000004, 12.117, 15.769000000000004, 12.446000000000002, 15.842000000000004, 12.759);
            ctx.bezierCurveTo(12.264000000000005, 12.579, 9.092000000000004, 10.865, 6.9680000000000035, 8.260000000000002);
            ctx.bezierCurveTo(6.597000000000003, 8.896, 6.385000000000003, 9.635000000000002, 6.385000000000003, 10.425);
            ctx.bezierCurveTo(6.385000000000003, 11.919, 7.145000000000003, 13.237, 8.300000000000004, 14.008000000000001);
            ctx.bezierCurveTo(7.594000000000005, 13.986, 6.930000000000004, 13.792000000000002, 6.350000000000004, 13.47);
            ctx.bezierCurveTo(6.350000000000004, 13.488000000000001, 6.350000000000004, 13.506, 6.350000000000004, 13.523000000000001);
            ctx.bezierCurveTo(6.350000000000004, 15.609000000000002, 7.834000000000004, 17.352, 9.804000000000004, 17.745);
            ctx.bezierCurveTo(9.443000000000003, 17.844, 9.063000000000004, 17.892, 8.670000000000003, 17.892);
            ctx.bezierCurveTo(8.392000000000003, 17.892, 8.123000000000003, 17.869, 7.860000000000003, 17.816);
            ctx.bezierCurveTo(8.408000000000003, 19.526999999999997, 9.998000000000003, 20.771, 11.882000000000003, 20.805999999999997);
            ctx.bezierCurveTo(10.408000000000003, 21.951999999999998, 8.552000000000003, 22.647999999999996, 6.535000000000003, 22.647999999999996);
            ctx.bezierCurveTo(6.187000000000003, 22.647999999999996, 5.845000000000002, 22.626999999999995, 5.508000000000003, 22.585999999999995);
            ctx.bezierCurveTo(7.413000000000003, 23.810999999999996, 9.676000000000002, 24.523999999999994, 12.108000000000002, 24.523999999999994);
            ctx.bezierCurveTo(20.027, 24.523999999999994, 24.356, 17.961999999999993, 24.356, 12.273999999999994);
            ctx.bezierCurveTo(24.356, 12.086999999999994, 24.354000000000003, 11.901999999999994, 24.346, 11.716999999999993);
            ctx.bezierCurveTo(25.186, 11.115, 25.915, 10.356, 26.492, 9.493);
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555555";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.beginPath();
            ctx.moveTo(26.492, 9.493);
            ctx.bezierCurveTo(25.721, 9.836, 24.89, 10.067, 24.019000000000002, 10.171000000000001);
            ctx.bezierCurveTo(24.909000000000002, 9.638000000000002, 25.581000000000003, 8.795000000000002, 25.912000000000003, 7.7890000000000015);
            ctx.bezierCurveTo(25.080000000000002, 8.282000000000002, 24.159000000000002, 8.641000000000002, 23.178000000000004, 8.833000000000002);
            ctx.bezierCurveTo(22.393000000000004, 7.996000000000002, 21.276000000000003, 7.474000000000002, 20.036000000000005, 7.474000000000002);
            ctx.bezierCurveTo(17.659000000000006, 7.474000000000002, 15.730000000000004, 9.402000000000001, 15.730000000000004, 11.780000000000001);
            ctx.bezierCurveTo(15.730000000000004, 12.117, 15.769000000000004, 12.446000000000002, 15.842000000000004, 12.759);
            ctx.bezierCurveTo(12.264000000000005, 12.579, 9.092000000000004, 10.865, 6.9680000000000035, 8.260000000000002);
            ctx.bezierCurveTo(6.597000000000003, 8.896, 6.385000000000003, 9.635000000000002, 6.385000000000003, 10.425);
            ctx.bezierCurveTo(6.385000000000003, 11.919, 7.145000000000003, 13.237, 8.300000000000004, 14.008000000000001);
            ctx.bezierCurveTo(7.594000000000005, 13.986, 6.930000000000004, 13.792000000000002, 6.350000000000004, 13.47);
            ctx.bezierCurveTo(6.350000000000004, 13.488000000000001, 6.350000000000004, 13.506, 6.350000000000004, 13.523000000000001);
            ctx.bezierCurveTo(6.350000000000004, 15.609000000000002, 7.834000000000004, 17.352, 9.804000000000004, 17.745);
            ctx.bezierCurveTo(9.443000000000003, 17.844, 9.063000000000004, 17.892, 8.670000000000003, 17.892);
            ctx.bezierCurveTo(8.392000000000003, 17.892, 8.123000000000003, 17.869, 7.860000000000003, 17.816);
            ctx.bezierCurveTo(8.408000000000003, 19.526999999999997, 9.998000000000003, 20.771, 11.882000000000003, 20.805999999999997);
            ctx.bezierCurveTo(10.408000000000003, 21.951999999999998, 8.552000000000003, 22.647999999999996, 6.535000000000003, 22.647999999999996);
            ctx.bezierCurveTo(6.187000000000003, 22.647999999999996, 5.845000000000002, 22.626999999999995, 5.508000000000003, 22.585999999999995);
            ctx.bezierCurveTo(7.413000000000003, 23.810999999999996, 9.676000000000002, 24.523999999999994, 12.108000000000002, 24.523999999999994);
            ctx.bezierCurveTo(20.027, 24.523999999999994, 24.356, 17.961999999999993, 24.356, 12.273999999999994);
            ctx.bezierCurveTo(24.356, 12.086999999999994, 24.354000000000003, 11.901999999999994, 24.346, 11.716999999999993);
            ctx.bezierCurveTo(25.186, 11.115, 25.915, 10.356, 26.492, 9.493);
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "#000000";
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(32, 0);
            ctx.quadraticCurveTo(32, 0, 32, 0);
            ctx.lineTo(32, 32);
            ctx.quadraticCurveTo(32, 32, 32, 32);
            ctx.lineTo(0, 32);
            ctx.quadraticCurveTo(0, 32, 0, 32);
            ctx.lineTo(0, 0);
            ctx.quadraticCurveTo(0, 0, 0, 0);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    windows: {
        name: "Windows",
        draw: function (ctx) {

            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(40, 0);
            ctx.lineTo(40, 40);
            ctx.lineTo(0, 40);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 3;
            ctx.lineJoin = "round";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(20.023, 17.484);
            ctx.bezierCurveTo(18.291, 17.279000000000003, 17.001, 16.576, 15.811, 15.783000000000001);
            ctx.lineTo(15.811, 15.783000000000001);
            ctx.lineTo(15.252, 16.062);
            ctx.lineTo(12.674000000000001, 24.986);
            ctx.lineTo(12.674000000000001, 24.986);
            ctx.bezierCurveTo(13.891000000000002, 25.791, 15.579, 26.693, 17.356, 26.900000000000002);
            ctx.bezierCurveTo(20.042, 27.212000000000003, 22.916, 26.156000000000002, 23.747, 25.705000000000002);
            ctx.lineTo(26.364, 16.644000000000002);
            ctx.lineTo(25.805, 16.365000000000002);
            ctx.bezierCurveTo(25.805, 16.365, 23.193, 17.857, 20.023, 17.484);
            ctx.closePath();
            ctx.moveTo(14.424, 14.825);
            ctx.bezierCurveTo(13.157, 13.955, 11.846, 13.173, 10.049, 13.008999999999999);
            ctx.bezierCurveTo(9.731, 12.979999999999999, 9.421999999999999, 12.966999999999999, 9.123999999999999, 12.966999999999999);
            ctx.bezierCurveTo(6.112999999999999, 12.966999999999999, 4.175999999999998, 14.313999999999998, 4.175999999999998, 14.313999999999998);
            ctx.lineTo(1.6109999999999984, 23.191);
            ctx.lineTo(1.6109999999999984, 23.191);
            ctx.lineTo(2.1369999999999987, 23.471999999999998);
            ctx.bezierCurveTo(3.1179999999999986, 22.996, 4.916999999999998, 22.326999999999998, 7.2269999999999985, 22.488);
            ctx.bezierCurveTo(8.892, 22.601, 10.146999999999998, 23.269, 11.343999999999998, 24.019);
            ctx.lineTo(11.850999999999997, 23.758999999999997);
            ctx.lineTo(11.850999999999997, 23.758999999999997);
            ctx.lineTo(14.424, 14.825);
            ctx.closePath();
            ctx.moveTo(10.201, 12.094);
            ctx.bezierCurveTo(11.865, 12.208, 13.122, 12.873999999999999, 14.318000000000001, 13.626999999999999);
            ctx.lineTo(14.827000000000002, 13.366999999999999);
            ctx.lineTo(14.827000000000002, 13.366999999999999);
            ctx.lineTo(17.4, 4.431);
            ctx.bezierCurveTo(16.13, 3.561, 14.820999999999998, 2.778, 13.023, 2.615);
            ctx.bezierCurveTo(12.705, 2.5860000000000003, 12.397, 2.5730000000000004, 12.099, 2.5730000000000004);
            ctx.bezierCurveTo(9.088, 2.573, 7.15, 3.92, 7.15, 3.92);
            ctx.lineTo(4.5840000000000005, 12.798);
            ctx.lineTo(5.11, 13.08);
            ctx.bezierCurveTo(6.092, 12.604, 7.891, 11.936, 10.201, 12.094);
            ctx.closePath();
            ctx.moveTo(28.779, 5.971);
            ctx.lineTo(28.779, 5.971);
            ctx.bezierCurveTo(28.779, 5.972, 26.17, 7.463, 23, 7.09);
            ctx.bezierCurveTo(21.266, 6.886, 19.977, 6.183, 18.787, 5.388999999999999);
            ctx.lineTo(18.227, 5.67);
            ctx.lineTo(15.651, 14.593);
            ctx.lineTo(15.651, 14.593);
            ctx.bezierCurveTo(16.866, 15.396, 18.557, 16.302, 20.331, 16.508);
            ctx.bezierCurveTo(23.018, 16.82, 25.889, 15.763, 26.723, 15.311);
            ctx.lineTo(29.338, 6.252000000000001);
            ctx.lineTo(28.779, 5.971);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555555";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.beginPath();
            ctx.moveTo(20.023, 17.484);
            ctx.bezierCurveTo(18.291, 17.279000000000003, 17.001, 16.576, 15.811, 15.783000000000001);
            ctx.lineTo(15.811, 15.783000000000001);
            ctx.lineTo(15.252, 16.062);
            ctx.lineTo(12.674000000000001, 24.986);
            ctx.lineTo(12.674000000000001, 24.986);
            ctx.bezierCurveTo(13.891000000000002, 25.791, 15.579, 26.693, 17.356, 26.900000000000002);
            ctx.bezierCurveTo(20.042, 27.212000000000003, 22.916, 26.156000000000002, 23.747, 25.705000000000002);
            ctx.lineTo(26.364, 16.644000000000002);
            ctx.lineTo(25.805, 16.365000000000002);
            ctx.bezierCurveTo(25.805, 16.365, 23.193, 17.857, 20.023, 17.484);
            ctx.closePath();
            ctx.moveTo(14.424, 14.825);
            ctx.bezierCurveTo(13.157, 13.955, 11.846, 13.173, 10.049, 13.008999999999999);
            ctx.bezierCurveTo(9.731, 12.979999999999999, 9.421999999999999, 12.966999999999999, 9.123999999999999, 12.966999999999999);
            ctx.bezierCurveTo(6.112999999999999, 12.966999999999999, 4.175999999999998, 14.313999999999998, 4.175999999999998, 14.313999999999998);
            ctx.lineTo(1.6109999999999984, 23.191);
            ctx.lineTo(1.6109999999999984, 23.191);
            ctx.lineTo(2.1369999999999987, 23.471999999999998);
            ctx.bezierCurveTo(3.1179999999999986, 22.996, 4.916999999999998, 22.326999999999998, 7.2269999999999985, 22.488);
            ctx.bezierCurveTo(8.892, 22.601, 10.146999999999998, 23.269, 11.343999999999998, 24.019);
            ctx.lineTo(11.850999999999997, 23.758999999999997);
            ctx.lineTo(11.850999999999997, 23.758999999999997);
            ctx.lineTo(14.424, 14.825);
            ctx.closePath();
            ctx.moveTo(10.201, 12.094);
            ctx.bezierCurveTo(11.865, 12.208, 13.122, 12.873999999999999, 14.318000000000001, 13.626999999999999);
            ctx.lineTo(14.827000000000002, 13.366999999999999);
            ctx.lineTo(14.827000000000002, 13.366999999999999);
            ctx.lineTo(17.4, 4.431);
            ctx.bezierCurveTo(16.13, 3.561, 14.820999999999998, 2.778, 13.023, 2.615);
            ctx.bezierCurveTo(12.705, 2.5860000000000003, 12.397, 2.5730000000000004, 12.099, 2.5730000000000004);
            ctx.bezierCurveTo(9.088, 2.573, 7.15, 3.92, 7.15, 3.92);
            ctx.lineTo(4.5840000000000005, 12.798);
            ctx.lineTo(5.11, 13.08);
            ctx.bezierCurveTo(6.092, 12.604, 7.891, 11.936, 10.201, 12.094);
            ctx.closePath();
            ctx.moveTo(28.779, 5.971);
            ctx.lineTo(28.779, 5.971);
            ctx.bezierCurveTo(28.779, 5.972, 26.17, 7.463, 23, 7.09);
            ctx.bezierCurveTo(21.266, 6.886, 19.977, 6.183, 18.787, 5.388999999999999);
            ctx.lineTo(18.227, 5.67);
            ctx.lineTo(15.651, 14.593);
            ctx.lineTo(15.651, 14.593);
            ctx.bezierCurveTo(16.866, 15.396, 18.557, 16.302, 20.331, 16.508);
            ctx.bezierCurveTo(23.018, 16.82, 25.889, 15.763, 26.723, 15.311);
            ctx.lineTo(29.338, 6.252000000000001);
            ctx.lineTo(28.779, 5.971);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "#000000";
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(32, 0);
            ctx.quadraticCurveTo(32, 0, 32, 0);
            ctx.lineTo(32, 32);
            ctx.quadraticCurveTo(32, 32, 32, 32);
            ctx.lineTo(0, 32);
            ctx.quadraticCurveTo(0, 32, 0, 32);
            ctx.lineTo(0, 0);
            ctx.quadraticCurveTo(0, 0, 0, 0);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    apple: {
        name: "Apple",
        draw: function (ctx) {

            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(40, 0);
            ctx.lineTo(40, 40);
            ctx.lineTo(0, 40);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 3;
            ctx.lineJoin = "round";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(24.32, 10.85);
            ctx.bezierCurveTo(22.577, 12.083, 21.705, 13.568999999999999, 21.705, 15.305);
            ctx.bezierCurveTo(21.705, 17.384, 22.782999999999998, 18.978, 24.936999999999998, 20.091);
            ctx.bezierCurveTo(24.358999999999998, 21.768, 23.520999999999997, 23.225, 22.423, 24.466);
            ctx.bezierCurveTo(21.325999999999997, 25.707, 20.325, 26.328000000000003, 19.418999999999997, 26.328000000000003);
            ctx.bezierCurveTo(18.991999999999997, 26.328000000000003, 18.409999999999997, 26.185000000000002, 17.670999999999996, 25.905000000000005);
            ctx.lineTo(17.316999999999997, 25.767000000000003);
            ctx.bezierCurveTo(16.591999999999995, 25.486000000000004, 15.953999999999997, 25.344000000000005, 15.396999999999997, 25.344000000000005);
            ctx.bezierCurveTo(14.871999999999996, 25.344000000000005, 14.296999999999997, 25.454000000000004, 13.671999999999997, 25.675000000000004);
            ctx.lineTo(13.226999999999997, 25.835000000000004);
            ctx.lineTo(12.666999999999996, 26.064000000000004);
            ctx.bezierCurveTo(12.225999999999996, 26.240000000000002, 11.778999999999996, 26.328000000000003, 11.329999999999997, 26.328000000000003);
            ctx.bezierCurveTo(10.270999999999997, 26.328000000000003, 9.101999999999997, 25.456000000000003, 7.822999999999997, 23.712000000000003);
            ctx.bezierCurveTo(5.979999999999997, 21.214000000000002, 5.0589999999999975, 18.491000000000003, 5.0589999999999975, 15.545000000000003);
            ctx.bezierCurveTo(5.0589999999999975, 13.450000000000003, 5.632999999999997, 11.764000000000003, 6.783999999999997, 10.484000000000004);
            ctx.bezierCurveTo(7.932999999999997, 9.205000000000004, 9.456999999999997, 8.564000000000004, 11.351999999999997, 8.564000000000004);
            ctx.bezierCurveTo(12.060999999999996, 8.564000000000004, 12.722999999999997, 8.694000000000004, 13.339999999999996, 8.953000000000003);
            ctx.lineTo(13.762999999999996, 9.125000000000004);
            ctx.lineTo(14.207999999999997, 9.308000000000003);
            ctx.bezierCurveTo(14.603999999999997, 9.475000000000003, 14.923999999999996, 9.559000000000003, 15.166999999999996, 9.559000000000003);
            ctx.bezierCurveTo(15.478999999999996, 9.559000000000003, 15.825999999999997, 9.487000000000004, 16.206999999999997, 9.342000000000002);
            ctx.lineTo(16.788999999999998, 9.113000000000003);
            ctx.lineTo(17.223999999999997, 8.953000000000003);
            ctx.bezierCurveTo(17.916999999999998, 8.702000000000004, 18.682999999999996, 8.576000000000002, 19.520999999999997, 8.576000000000002);
            ctx.bezierCurveTo(21.512, 8.576, 23.109, 9.334, 24.32, 10.85);
            ctx.closePath();
            ctx.moveTo(19.615, 3.287);
            ctx.bezierCurveTo(19.636, 3.554, 19.648, 3.76, 19.648, 3.904);
            ctx.bezierCurveTo(19.648, 5.221, 19.169, 6.377, 18.21, 7.371);
            ctx.bezierCurveTo(17.251, 8.365000000000002, 16.135, 8.861, 14.863000000000001, 8.861);
            ctx.bezierCurveTo(14.825000000000001, 8.564, 14.805000000000001, 8.351, 14.805000000000001, 8.222000000000001);
            ctx.bezierCurveTo(14.805000000000001, 7.102000000000001, 15.250000000000002, 6.051000000000002, 16.142000000000003, 5.069000000000001);
            ctx.bezierCurveTo(17.033, 4.087000000000001, 18.064000000000004, 3.511000000000001, 19.238000000000003, 3.3440000000000007);
            ctx.bezierCurveTo(19.32, 3.329, 19.447, 3.311, 19.615, 3.287);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555555";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.transform(1, 0, 0, 1, 4, 4);
            ctx.beginPath();
            ctx.moveTo(24.32, 10.85);
            ctx.bezierCurveTo(22.577, 12.083, 21.705, 13.568999999999999, 21.705, 15.305);
            ctx.bezierCurveTo(21.705, 17.384, 22.782999999999998, 18.978, 24.936999999999998, 20.091);
            ctx.bezierCurveTo(24.358999999999998, 21.768, 23.520999999999997, 23.225, 22.423, 24.466);
            ctx.bezierCurveTo(21.325999999999997, 25.707, 20.325, 26.328000000000003, 19.418999999999997, 26.328000000000003);
            ctx.bezierCurveTo(18.991999999999997, 26.328000000000003, 18.409999999999997, 26.185000000000002, 17.670999999999996, 25.905000000000005);
            ctx.lineTo(17.316999999999997, 25.767000000000003);
            ctx.bezierCurveTo(16.591999999999995, 25.486000000000004, 15.953999999999997, 25.344000000000005, 15.396999999999997, 25.344000000000005);
            ctx.bezierCurveTo(14.871999999999996, 25.344000000000005, 14.296999999999997, 25.454000000000004, 13.671999999999997, 25.675000000000004);
            ctx.lineTo(13.226999999999997, 25.835000000000004);
            ctx.lineTo(12.666999999999996, 26.064000000000004);
            ctx.bezierCurveTo(12.225999999999996, 26.240000000000002, 11.778999999999996, 26.328000000000003, 11.329999999999997, 26.328000000000003);
            ctx.bezierCurveTo(10.270999999999997, 26.328000000000003, 9.101999999999997, 25.456000000000003, 7.822999999999997, 23.712000000000003);
            ctx.bezierCurveTo(5.979999999999997, 21.214000000000002, 5.0589999999999975, 18.491000000000003, 5.0589999999999975, 15.545000000000003);
            ctx.bezierCurveTo(5.0589999999999975, 13.450000000000003, 5.632999999999997, 11.764000000000003, 6.783999999999997, 10.484000000000004);
            ctx.bezierCurveTo(7.932999999999997, 9.205000000000004, 9.456999999999997, 8.564000000000004, 11.351999999999997, 8.564000000000004);
            ctx.bezierCurveTo(12.060999999999996, 8.564000000000004, 12.722999999999997, 8.694000000000004, 13.339999999999996, 8.953000000000003);
            ctx.lineTo(13.762999999999996, 9.125000000000004);
            ctx.lineTo(14.207999999999997, 9.308000000000003);
            ctx.bezierCurveTo(14.603999999999997, 9.475000000000003, 14.923999999999996, 9.559000000000003, 15.166999999999996, 9.559000000000003);
            ctx.bezierCurveTo(15.478999999999996, 9.559000000000003, 15.825999999999997, 9.487000000000004, 16.206999999999997, 9.342000000000002);
            ctx.lineTo(16.788999999999998, 9.113000000000003);
            ctx.lineTo(17.223999999999997, 8.953000000000003);
            ctx.bezierCurveTo(17.916999999999998, 8.702000000000004, 18.682999999999996, 8.576000000000002, 19.520999999999997, 8.576000000000002);
            ctx.bezierCurveTo(21.512, 8.576, 23.109, 9.334, 24.32, 10.85);
            ctx.closePath();
            ctx.moveTo(19.615, 3.287);
            ctx.bezierCurveTo(19.636, 3.554, 19.648, 3.76, 19.648, 3.904);
            ctx.bezierCurveTo(19.648, 5.221, 19.169, 6.377, 18.21, 7.371);
            ctx.bezierCurveTo(17.251, 8.365000000000002, 16.135, 8.861, 14.863000000000001, 8.861);
            ctx.bezierCurveTo(14.825000000000001, 8.564, 14.805000000000001, 8.351, 14.805000000000001, 8.222000000000001);
            ctx.bezierCurveTo(14.805000000000001, 7.102000000000001, 15.250000000000002, 6.051000000000002, 16.142000000000003, 5.069000000000001);
            ctx.bezierCurveTo(17.033, 4.087000000000001, 18.064000000000004, 3.511000000000001, 19.238000000000003, 3.3440000000000007);
            ctx.bezierCurveTo(19.32, 3.329, 19.447, 3.311, 19.615, 3.287);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "#000000";
            ctx.globalAlpha = 0;
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(32, 0);
            ctx.quadraticCurveTo(32, 0, 32, 0);
            ctx.lineTo(32, 32);
            ctx.quadraticCurveTo(32, 32, 32, 32);
            ctx.lineTo(0, 32);
            ctx.quadraticCurveTo(0, 32, 0, 32);
            ctx.lineTo(0, 0);
            ctx.quadraticCurveTo(0, 0, 0, 0);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
        }
    },
    iphone: {
        name: "iPhone",
        width: 60,
        height: 80,
        draw: function (ctx) {
            ctx.save();
            ctx.beginPath();
            ctx.moveTo(0, 0);
            ctx.lineTo(48, 0);
            ctx.lineTo(48, 48);
            ctx.lineTo(0, 48);
            ctx.closePath();
            ctx.clip();
            ctx.strokeStyle = 'rgba(0,0,0,0)';
            ctx.lineCap = 'butt';
            ctx.lineJoin = 'miter';
            ctx.miterLimit = 4;
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.restore();
            ctx.save();
            ctx.save();
            var g = ctx.createRadialGradient(30.428225, 45.153285071108, 0,
                30.428225, 45.153285071108, 13.474453);
            g.addColorStop(0, "rgba(0, 0, 0, 1)");
            g.addColorStop(1, "rgba(0, 0, 0, 0)");
            ctx.fillStyle = g;
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 1.7999999523162842;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.transform(1.001896, 0, 0, 2.0113314, -5.9859152, -48.289433);
            ctx.globalAlpha = 0.44999992847442627;
            ctx.beginPath();
            ctx.moveTo(43.902678, 45.153286);
            ctx.translate(30.428225, 45.153286);
            ctx.rotate(0);
            ctx.scale(1, 0.20187792409829178);
            ctx.arc(0, 0, 13.474453, 0, 3.141592653589793, 0);
            ctx.scale(1, 4.9534886217331655);
            ctx.rotate(0);
            ctx.translate(-30.428225, -45.153286);
            ctx.translate(30.428225, 45.153286);
            ctx.rotate(0);
            ctx.scale(1, 0.20187792409829178);
            ctx.arc(0, 0, 13.474453, 3.141592653589793, 6.283185307179586, 0);
            ctx.scale(1, 4.9534886217331655);
            ctx.rotate(0);
            ctx.translate(-30.428225, -45.153286);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#222222";
            ctx.strokeStyle = "#454545";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(17.48867, 2.5);
            ctx.lineTo(31.5, 2.5);
            ctx.quadraticCurveTo(36.5, 2.5, 36.5, 7.5);
            ctx.lineTo(36.5, 39.51133);
            ctx.quadraticCurveTo(36.5, 44.51133, 31.5, 44.51133);
            ctx.lineTo(17.48867, 44.51133);
            ctx.quadraticCurveTo(12.48867, 44.51133, 12.48867, 39.51133);
            ctx.lineTo(12.48867, 7.5);
            ctx.quadraticCurveTo(12.48867, 2.5, 17.48867, 2.5);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#eaeef9";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.4888661205768585;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(15.46316305, 12);
            ctx.lineTo(33.53683695, 12);
            ctx.quadraticCurveTo(34, 12, 34, 12.4886471);
            ctx.lineTo(34, 33.5113529);
            ctx.quadraticCurveTo(34, 34, 33.53683695, 34);
            ctx.lineTo(15.46316305, 34);
            ctx.quadraticCurveTo(15, 34, 15, 33.5113529);
            ctx.lineTo(15, 12.4886471);
            ctx.quadraticCurveTo(15, 12, 15.46316305, 12);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#2e3436";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.4888661205768585;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(14.235984, 31);
            ctx.lineTo(34.747119, 31);
            ctx.quadraticCurveTo(34.747119, 31, 34.747119, 31);
            ctx.lineTo(34.747119, 34.5056648);
            ctx.quadraticCurveTo(34.747119, 34.5056648, 34.747119, 34.5056648);
            ctx.lineTo(14.235984, 34.5056648);
            ctx.quadraticCurveTo(14.235984, 34.5056648, 14.235984, 34.5056648);
            ctx.lineTo(14.235984, 31);
            ctx.quadraticCurveTo(14.235984, 31, 14.235984, 31);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#729fcf";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.4888661205768585;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(15, 14);
            ctx.lineTo(34, 14);
            ctx.quadraticCurveTo(34, 14, 34, 14);
            ctx.lineTo(34, 17);
            ctx.quadraticCurveTo(34, 17, 34, 17);
            ctx.lineTo(15, 17);
            ctx.quadraticCurveTo(15, 17, 15, 17);
            ctx.lineTo(15, 14);
            ctx.quadraticCurveTo(15, 14, 15, 14);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#000000";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(14.500002, 11.5);
            ctx.lineTo(34.500002, 11.5);
            ctx.quadraticCurveTo(34.500002, 11.5, 34.500002, 11.5);
            ctx.lineTo(34.500002, 34.500001999999995);
            ctx.quadraticCurveTo(34.500002, 34.500001999999995, 34.500002,
                34.500001999999995);
            ctx.lineTo(14.500002, 34.500001999999995);
            ctx.quadraticCurveTo(14.500002, 34.500001999999995, 14.500002,
                34.500001999999995);
            ctx.lineTo(14.500002, 11.5);
            ctx.quadraticCurveTo(14.500002, 11.5, 14.500002, 11.5);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            g = ctx.createLinearGradient(12.9943351, 3.0056657, 47.3693351,
                63.7556647);
            g.addColorStop(0, "rgba(255, 255, 255, 1)");
            g.addColorStop(1, "rgba(255, 255, 255, 0)");
            ctx.strokeStyle = "[object CanvasGradient]";
            ctx.lineWidth = 0.988142192363739;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(17.488405999999998, 3.4997368);
            ctx.lineTo(31.500264, 3.4997368);
            ctx.quadraticCurveTo(35.500264, 3.4997368, 35.500264, 7.4997368);
            ctx.lineTo(35.500264, 39.5115928);
            ctx.quadraticCurveTo(35.500264, 43.5115928, 31.500264, 43.5115928);
            ctx.lineTo(17.488405999999998, 43.5115928);
            ctx.quadraticCurveTo(13.488406, 43.5115928, 13.488406, 39.5115928);
            ctx.lineTo(13.488406, 7.4997368);
            ctx.quadraticCurveTo(13.488406, 3.4997368, 17.488405999999998,
                3.4997368);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#cee14b";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(31.49804866, 12);
            ctx.lineTo(32.50195804, 12);
            ctx.quadraticCurveTo(33.0000067, 12, 33.0000067, 12);
            ctx.lineTo(33.0000067, 12.99999988);
            ctx.quadraticCurveTo(33.0000067, 12.99999988, 32.50195804,
                12.99999988);
            ctx.lineTo(31.49804866, 12.99999988);
            ctx.quadraticCurveTo(31, 12.99999988, 31, 12.99999988);
            ctx.lineTo(31, 12);
            ctx.quadraticCurveTo(31, 12, 31.49804866, 12);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(21, 12);
            ctx.lineTo(28, 12);
            ctx.quadraticCurveTo(28, 12, 28, 13.2374361);
            ctx.lineTo(28, 11.7640681);
            ctx.quadraticCurveTo(28, 13.0015042, 28, 13.0015042);
            ctx.lineTo(21, 13.0015042);
            ctx.quadraticCurveTo(21, 13.0015042, 21, 11.7640681);
            ctx.lineTo(21, 13.2374361);
            ctx.quadraticCurveTo(21, 12, 21, 12);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16, 23.002401);
            ctx.lineTo(28, 23.002401);
            ctx.quadraticCurveTo(28, 23.002401, 28, 24.2398371);
            ctx.lineTo(28, 22.76256283);
            ctx.quadraticCurveTo(28, 23.99999893, 28, 23.99999893);
            ctx.lineTo(16, 23.99999893);
            ctx.quadraticCurveTo(16, 23.99999893, 16, 22.76256283);
            ctx.lineTo(16, 24.2398371);
            ctx.quadraticCurveTo(16, 23.002401, 16, 23.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16, 25.002401);
            ctx.lineTo(24, 25.002401);
            ctx.quadraticCurveTo(24, 25.002401, 24, 26.2398371);
            ctx.lineTo(24, 24.76256283);
            ctx.quadraticCurveTo(24, 25.99999893, 24, 25.99999893);
            ctx.lineTo(16, 25.99999893);
            ctx.quadraticCurveTo(16, 25.99999893, 16, 24.76256283);
            ctx.lineTo(16, 26.2398371);
            ctx.quadraticCurveTo(16, 25.002401, 16, 25.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16, 27.002401);
            ctx.lineTo(26, 27.002401);
            ctx.quadraticCurveTo(26, 27.002401, 26, 28.2398371);
            ctx.lineTo(26, 26.76256283);
            ctx.quadraticCurveTo(26, 27.99999893, 26, 27.99999893);
            ctx.lineTo(16, 27.99999893);
            ctx.quadraticCurveTo(16, 27.99999893, 16, 26.76256283);
            ctx.lineTo(16, 28.2398371);
            ctx.quadraticCurveTo(16, 27.002401, 16, 27.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16, 29.002401);
            ctx.lineTo(26, 29.002401);
            ctx.quadraticCurveTo(26, 29.002401, 26, 30.2398371);
            ctx.lineTo(26, 28.76256283);
            ctx.quadraticCurveTo(26, 29.99999893, 26, 29.99999893);
            ctx.lineTo(16, 29.99999893);
            ctx.quadraticCurveTo(16, 29.99999893, 16, 28.76256283);
            ctx.lineTo(16, 30.2398371);
            ctx.quadraticCurveTo(16, 29.002401, 16, 29.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(32, 23.002401);
            ctx.lineTo(33, 23.002401);
            ctx.quadraticCurveTo(33, 23.002401, 33, 24.2398371);
            ctx.lineTo(33, 22.76256283);
            ctx.quadraticCurveTo(33, 23.99999893, 33, 23.99999893);
            ctx.lineTo(32, 23.99999893);
            ctx.quadraticCurveTo(32, 23.99999893, 32, 22.76256283);
            ctx.lineTo(32, 24.2398371);
            ctx.quadraticCurveTo(32, 23.002401, 32, 23.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(32, 25.002401);
            ctx.lineTo(33, 25.002401);
            ctx.quadraticCurveTo(33, 25.002401, 33, 26.2398371);
            ctx.lineTo(33, 24.76256283);
            ctx.quadraticCurveTo(33, 25.99999893, 33, 25.99999893);
            ctx.lineTo(32, 25.99999893);
            ctx.quadraticCurveTo(32, 25.99999893, 32, 24.76256283);
            ctx.lineTo(32, 26.2398371);
            ctx.quadraticCurveTo(32, 25.002401, 32, 25.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(32, 27.002401);
            ctx.lineTo(33, 27.002401);
            ctx.quadraticCurveTo(33, 27.002401, 33, 28.2398371);
            ctx.lineTo(33, 26.76256283);
            ctx.quadraticCurveTo(33, 27.99999893, 33, 27.99999893);
            ctx.lineTo(32, 27.99999893);
            ctx.quadraticCurveTo(32, 27.99999893, 32, 26.76256283);
            ctx.lineTo(32, 28.2398371);
            ctx.quadraticCurveTo(32, 27.002401, 32, 27.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(32, 29.002401);
            ctx.lineTo(33, 29.002401);
            ctx.quadraticCurveTo(33, 29.002401, 33, 30.2398371);
            ctx.lineTo(33, 28.76256283);
            ctx.quadraticCurveTo(33, 29.99999893, 33, 29.99999893);
            ctx.lineTo(32, 29.99999893);
            ctx.quadraticCurveTo(32, 29.99999893, 32, 28.76256283);
            ctx.lineTo(32, 30.2398371);
            ctx.quadraticCurveTo(32, 29.002401, 32, 29.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555753";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(27.625, 31.5);
            ctx.lineTo(29.625, 31.5);
            ctx.quadraticCurveTo(29.625, 31.5, 29.625, 31.5);
            ctx.lineTo(29.625, 33.5);
            ctx.quadraticCurveTo(29.625, 33.5, 29.625, 33.5);
            ctx.lineTo(27.625, 33.5);
            ctx.quadraticCurveTo(27.625, 33.5, 27.625, 33.5);
            ctx.lineTo(27.625, 31.5);
            ctx.quadraticCurveTo(27.625, 31.5, 27.625, 31.5);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555753";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(0.1721091, 0.1072115, -0.1023985, 0.1801987,
                18.708736, 28.85398);
            ctx.beginPath();
            ctx.moveTo(1.4894626, 22.96164);
            ctx.lineTo(-0.37207557, 25.909981);
            ctx.lineTo(-1.5799401, 22.639033);
            ctx.lineTo(-4.9592258, 21.779693);
            ctx.lineTo(-2.2216198, 19.620167);
            ctx.lineTo(-2.4485951, 16.140724);
            ctx.lineTo(0.45120293, 18.077012);
            ctx.lineTo(3.6902102, 16.785939);
            ctx.lineTo(2.744778, 20.142156);
            ctx.lineTo(4.9735699, 22.823672);
            ctx.lineTo(1.4894626, 22.96164);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555753";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(0.627451, 0, 0, 0.627451, -5.5122557, 11.656862);
            ctx.beginPath();
            ctx.moveTo(43.25, 33.21875);
            ctx.translate(41.65625, 33.21875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 1.59375, 0, 3.141592653589793, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-41.65625, -33.21875);
            ctx.translate(41.65625, 33.21875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 1.59375, 3.141592653589793, 6.283185307179586, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-41.65625, -33.21875);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555753";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(0.64, 0, 0, 0.64, 5.645, 14.12);
            ctx.beginPath();
            ctx.moveTo(41.375, 28.71875);
            ctx.translate(40.59375, 28.71875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.78125, 0, 3.141592653589793, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-40.59375, -28.71875);
            ctx.translate(40.59375, 28.71875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.78125, 3.141592653589793, 6.283185307179586, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-40.59375, -28.71875);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#555753";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(0.64, 0, 0, 0.64, 7.02, 14.12);
            ctx.beginPath();
            ctx.moveTo(41.375, 28.71875);
            ctx.translate(40.59375, 28.71875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.78125, 0, 3.141592653589793, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-40.59375, -28.71875);
            ctx.translate(40.59375, 28.71875);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.78125, 3.141592653589793, 6.283185307179586, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-40.59375, -28.71875);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#729fcf";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(0.538748, 0, 0, 0.538748, -3.4940494, 13.021049);
            ctx.beginPath();
            ctx.moveTo(53.121399, 35.227882);
            ctx.translate(52.193321499999996, 35.22839176634375);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.92807764, -0.0005492712542802616,
                3.142141924844066, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-52.193321499999996, -35.22839176634375);
            ctx.translate(52.193321499999996, 35.227372233656254);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 0.92807764, 3.141043382335513, 6.283734578433859, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-52.193321499999996, -35.227372233656254);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#729fcf";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.5;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(23.84753092, 32.5);
            ctx.lineTo(25.40246908, 32.5);
            ctx.quadraticCurveTo(25.625, 32.5, 25.625, 32.72253092);
            ctx.lineTo(25.625, 33.27746908);
            ctx.quadraticCurveTo(25.625, 33.5, 25.40246908, 33.5);
            ctx.lineTo(23.84753092, 33.5);
            ctx.quadraticCurveTo(23.625, 33.5, 23.625, 33.27746908);
            ctx.lineTo(23.625, 32.72253092);
            ctx.quadraticCurveTo(23.625, 32.5, 23.84753092, 32.5);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#729fcf";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16.49804166, 12);
            ctx.lineTo(17.50195104, 12);
            ctx.quadraticCurveTo(17.9999997, 12, 17.9999997, 12);
            ctx.lineTo(17.9999997, 12.99999988);
            ctx.quadraticCurveTo(17.9999997, 12.99999988, 17.50195104,
                12.99999988);
            ctx.lineTo(16.49804166, 12.99999988);
            ctx
                .quadraticCurveTo(15.999993, 12.99999988, 15.999993,
                12.99999988);
            ctx.lineTo(15.999993, 12);
            ctx.quadraticCurveTo(15.999993, 12, 16.49804166, 12);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#729fcf";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(15, 21);
            ctx.lineTo(34, 21);
            ctx.quadraticCurveTo(34, 21, 34, 22.2404156);
            ctx.lineTo(34, 20.7595844);
            ctx.quadraticCurveTo(34, 22, 34, 22);
            ctx.lineTo(15, 22);
            ctx.quadraticCurveTo(15, 22, 15, 20.7595844);
            ctx.lineTo(15, 22.2404156);
            ctx.quadraticCurveTo(15, 21, 15, 21);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(16, 19.002401);
            ctx.lineTo(26, 19.002401);
            ctx.quadraticCurveTo(26, 19.002401, 26, 20.2398371);
            ctx.lineTo(26, 18.76256283);
            ctx.quadraticCurveTo(26, 19.99999893, 26, 19.99999893);
            ctx.lineTo(16, 19.99999893);
            ctx.quadraticCurveTo(16, 19.99999893, 16, 18.76256283);
            ctx.lineTo(16, 20.2398371);
            ctx.quadraticCurveTo(16, 19.002401, 16, 19.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#8d8d8d";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(32, 19.002401);
            ctx.lineTo(33, 19.002401);
            ctx.quadraticCurveTo(33, 19.002401, 33, 20.2398371);
            ctx.lineTo(33, 18.76256283);
            ctx.quadraticCurveTo(33, 19.99999893, 33, 19.99999893);
            ctx.lineTo(32, 19.99999893);
            ctx.quadraticCurveTo(32, 19.99999893, 32, 18.76256283);
            ctx.lineTo(32, 20.2398371);
            ctx.quadraticCurveTo(32, 19.002401, 32, 19.002401);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#3465a4";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.25;
            ctx.lineCap = "round";
            ctx.lineJoin = "round";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(30, 15);
            ctx.lineTo(33, 15);
            ctx.quadraticCurveTo(33, 15, 33, 16.2404157);
            ctx.lineTo(33, 14.7595843);
            ctx.quadraticCurveTo(33, 16, 33, 16);
            ctx.lineTo(30, 16);
            ctx.quadraticCurveTo(30, 16, 30, 14.7595843);
            ctx.lineTo(30, 16.2404157);
            ctx.quadraticCurveTo(30, 15, 30, 15);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            g = ctx.createLinearGradient(19.119335, 3.0054398033000003,
                19.119335, 44.0054400033);
            g.addColorStop(0, "rgba(255, 255, 255, 1)");
            g.addColorStop(1, "rgba(255, 255, 255, 0)");
            ctx.fillStyle = g;
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.globalAlpha = 0.25;
            ctx.beginPath();
            ctx.moveTo(17.994339, 3.0054398);
            ctx.lineTo(30.994339, 3.0054398);
            ctx.bezierCurveTo(23.836313, 7.1381278, 20.853778, 19.364879,
                24.494339, 23.00544);
            ctx.bezierCurveTo(33.610675, 32.121776, 17.994339, 44.00544,
                17.994339, 44.00544);
            ctx.bezierCurveTo(15.224339, 44.00544, 12.994339, 41.77544,
                12.994339, 39.00544);
            ctx.lineTo(12.994339, 8.0054398);
            ctx.bezierCurveTo(12.994339, 5.2354398, 15.224339, 3.0054398,
                17.994339, 3.0054398);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.2625642418861389;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(22.1666667, 7);
            ctx.lineTo(26.8333333, 7);
            ctx.quadraticCurveTo(28, 7, 28, 8);
            ctx.lineTo(28, 8);
            ctx.quadraticCurveTo(28, 9, 26.8333333, 9);
            ctx.lineTo(22.1666667, 9);
            ctx.quadraticCurveTo(21, 9, 21, 8);
            ctx.lineTo(21, 8);
            ctx.quadraticCurveTo(21, 7, 22.1666667, 7);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            g = ctx.createLinearGradient(24.499999250000002, 7.9999999,
                24.499999250000002, 8.9999999);
            g.addColorStop(0, "rgba(255, 255, 255, 0)");
            g.addColorStop(1, "rgba(255, 255, 255, 1)");
            ctx.fillStyle = g;
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 0.2625642418861389;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.beginPath();
            ctx.moveTo(22.1666667, 7);
            ctx.lineTo(26.8333333, 7);
            ctx.quadraticCurveTo(28, 7, 28, 8);
            ctx.lineTo(28, 8);
            ctx.quadraticCurveTo(28, 9, 26.8333333, 9);
            ctx.lineTo(22.1666667, 9);
            ctx.quadraticCurveTo(21, 9, 21, 8);
            ctx.lineTo(21, 8);
            ctx.quadraticCurveTo(21, 7, 22.1666667, 7);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "#000000";
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.transform(1.2384383, 0, 0, 1.2374368, -51.908369, -9.0844674);
            ctx.beginPath();
            ctx.moveTo(64.523495, 38.45406);
            ctx.translate(61.695068, 38.45481212061619);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 2.8284271, -0.0002659147991268235,
                3.1418585683892366, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-61.695068, -38.45481212061619);
            ctx.translate(61.695068, 38.45330787938381);
            ctx.rotate(0);
            ctx.scale(1, 1);
            ctx.arc(0, 0, 2.8284271, 3.1413267387906663, 6.28345122197903, 0);
            ctx.scale(1, 1);
            ctx.rotate(0);
            ctx.translate(-61.695068, -38.45330787938381);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            ctx.fillStyle = "rgba(0, 0, 0, 0)";
            ctx.strokeStyle = "#ffffff";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.globalAlpha = 0.800000011920929;
            ctx.beginPath();
            ctx.moveTo(23.6125001, 36.5);
            ctx.lineTo(25.3874999, 36.5);
            ctx.quadraticCurveTo(26.5, 36.5, 26.5, 37.6125);
            ctx.lineTo(26.5, 39.3875);
            ctx.quadraticCurveTo(26.5, 40.5, 25.3874999, 40.5);
            ctx.lineTo(23.6125001, 40.5);
            ctx.quadraticCurveTo(22.5, 40.5, 22.5, 39.3875);
            ctx.lineTo(22.5, 37.6125);
            ctx.quadraticCurveTo(22.5, 36.5, 23.6125001, 36.5);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.save();
            g = ctx.createLinearGradient(24.4943322015625, 42.000000609375,
                24.4943322015625, 38.937437259375);
            g.addColorStop(0, "rgba(255, 255, 255, 1)");
            g.addColorStop(1, "rgba(255, 255, 255, 0)");
            ctx.fillStyle = g;
            ctx.strokeStyle = "rgba(0, 0, 0, 0)";
            ctx.lineWidth = 1;
            ctx.lineCap = "butt";
            ctx.lineJoin = "miter";
            ctx.miterLimit = 4;
            ctx.globalAlpha = 0.5;
            ctx.beginPath();
            ctx.moveTo(27.953175, 38.937438);
            ctx.bezierCurveTo(27.028904, 39.748992, 25.833693, 40.249964,
                24.508006, 40.249964);
            ctx.bezierCurveTo(23.189263, 40.249964, 21.957911, 39.768752,
                21.035493, 38.964782);
            ctx.bezierCurveTo(21.263181, 40.677198, 22.733765, 42, 24.508006,
                42);
            ctx.bezierCurveTo(26.291154, 42, 27.736877, 40.662361, 27.953175,
                38.937438);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
            ctx.restore();
            ctx.restore();
            ctx.restore();
        }
    }
}

if (Q.loadClassPath){
    Q.loadClassPath(graphs, "graphs");
}